<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="Clases.domain.*"%>
<%@page import="pos.presentation.*" %>
<%@page import="java.util.*"%>

<%!
	public boolean contieneLetras(String s){
		String letras="abcdefghyjklmnñopqrstuvwxyz";
		boolean enc1=false;
		String t=s.toLowerCase();
		for(int i=0; i<t.length(); i++){
			if (letras.indexOf(t.charAt(i),0)!=-1 && !enc1){
				//aki si se encuentra letras
				enc1=true;
			}
		}
		return enc1;
	}
		
	public boolean contieneCaracteres(String x){
		String caracter="!@#$~%&/()=?¿¡[]{}-_<>+*Ç\"";
		boolean enc2=false;
		String tt=x.toLowerCase();
		for(int i=0; i<tt.length(); i++){
			if (caracter.indexOf(tt.charAt(i),0)!=-1 && !enc2){
				//aki si se encuentra caracteres
				enc2=true;
			}
		}
		return enc2;
	}
		
%>
<%	//En el siguiente fragmento de codigo cogemos los datos que provienen de la pagina registro_si
	String red_vidrio=request.getParameter("vidrio");
	String red_papel=request.getParameter("papel");
	String red_plastico=request.getParameter("plastico");
	String red_organico=request.getParameter("organico");
	String red_aceite=request.getParameter("aceite");
	String red_medicamentos=request.getParameter("medicamentos");
	String red_pilas=request.getParameter("pilas");
	String preg1=request.getParameter("preg1");
	String email=request.getParameter("email");
	String nick=request.getParameter("nick");
	String clave=request.getParameter("password");
	String barrio=request.getParameter("barrio");
	String zona=request.getParameter("zona");
	String recicla=request.getParameter("si_no");
	boolean sirec;
	if(recicla.equals("si")){
		sirec=true;
	}else{
		sirec=false;
	}
	//el siguiente parametro lo ponemos vacio que el motivo es para aquellos usuarios que no reciclan
	String motivo="";
	
	//Creo una variable booleana para controlar que exista errores y un controlador para localizar los errores que se producen
	boolean existError=false;
	int tipError;
	//A continuacion procedemos a localizar fallos en caso de que existan
	//Miramos que vidrio no sea nulo, no tenga caracteres y no contenga letras
	if(contieneLetras(red_vidrio) || contieneCaracteres(red_vidrio) || red_vidrio==null){ 
		existError=true;
		tipError=5;
	}
	//Miramos que papel no sea nulo, no tenga caracteres y no contenga letras
	if(contieneLetras(red_papel) || contieneCaracteres(red_papel) || red_papel==null){
		existError=true;
		tipError=6;
	}
	//Miramos que plastico no sea nulo, no tenga caracteres y no contenga letras
	if(contieneLetras(red_plastico)|| contieneCaracteres(red_plastico) || red_plastico==null){
		existError=true;
		tipError=7;
	}
	//Miramos que organico no sea nulo, no tenga caracteres y no contenga letras
	if(contieneLetras(red_organico) || contieneCaracteres(red_organico) || red_organico==null){
		existError=true;
		tipError=8;
	}
	//Miramos que aceite no sea nulo, no tenga caracteres y no contenga letras
	if(contieneLetras(red_aceite) || contieneCaracteres(red_aceite) || red_aceite==null){
		existError=true;
		tipError=9;
	}
	//Miramos que medicamentos no sea nulo, no tenga caracteres y no contenga letras
	if(contieneLetras(red_medicamentos) || contieneCaracteres(red_medicamentos) || red_medicamentos==null){
		existError=true;
		tipError=10;
	}
	//Miramos que pilas no sea nulo, no tenga caracteres y no contenga letras
	if(contieneLetras(red_pilas) || contieneCaracteres(red_pilas) || red_pilas==null){
		existError=true;
		tipError=11;
	}	
	//A continuacion miramos que no existan errores, en el caso de que existan no podremos avanzar
	if(existError==true){
		response.sendRedirect("./../registro_si.jsp");
	}else{
		//Si no existen errores convertimos las variables numericas que han sido cogidas como String, las pasamos a int
		Integer basuragenerada=Integer.parseInt(preg1);
		Integer pap = Integer.parseInt(red_papel); 
		Integer vid = Integer.parseInt(red_vidrio);
		Integer plas = Integer.parseInt(red_plastico);
		Integer aceite = Integer.parseInt(red_aceite);
		Integer org = Integer.parseInt(red_organico);
		Integer med = Integer.parseInt(red_medicamentos);
		Integer pil = Integer.parseInt(red_pilas);
		
		//Ahora miramos que las bolsas de basura que el usuario genera, se corresponde con las que reciclan, sino no podran avanzar de pagina
		if(basuragenerada==pap+vid+plas+aceite+org+med+pil){
			//En el siguiente fragmento creamos un nuevo usuario y le insertamos los datos que ha rellenado el cliente 
			Usuario usu=new Usuario();
			usu.setZona(zona);
			usu.setPassword(clave);
			usu.setEmail(email);
			usu.setNick(nick);
			usu.setBasuraGenerada(basuragenerada);
			usu.setRecicla(sirec);
			usu.setVidrio(vid);
			usu.setPapel(pap);
			usu.setPlastico(plas);
			usu.setOrganico(org);
			usu.setAceite(aceite);
			usu.setMedicamentos(med);
			usu.setPilas(pil);
			usu.setBarrio(barrio);
			usu.setMotivo(motivo);

			GestorUsuario.insertarUsuario(usu);
			response.sendRedirect("./../fin_registro.jsp?bas="+basuragenerada+"&"+"pap="+pap+"&"+"vid="+vid+"&"+"plas="+plas+"&"+"ace="+aceite+"&"+"org="+org+"&"+"med="+med+"&"+"pil="+pil);
		}else{
			response.sendRedirect("./../registro_si.jsp");
		}
	}
%>